DeepWiki

07.c - Legal-&-Static-Pages

Relevant source files

This document describes the static legal pages in the godeep.wiki application, specifically the Privacy Policy and Terms of Service pages. These pages provide legally required disclosures and service agreements accessible to all users. This document covers their route structure, content organization, shared UI patterns, and metadata configuration.

For information about the landing page and main user interface components, see 2.1. For theming and global layout configuration, see 7.1.


The application includes two legal pages implemented as Next.js App Router routes:

RouteFile PathPurpose
/privacyapp/privacy/page.tsxPrivacy Policy disclosure
/termsapp/terms/page.tsxTerms of Service agreement

Both pages follow the same structural pattern: standalone pages with dark theme styling, back navigation to the home page, and content organized into numbered sections.

Diagram: Legal Pages Route Structure

Sources: app/privacy/page.tsx L1-L84

app/terms/page.tsx L1-L92


The Privacy Policy page is implemented in the PrivacyPage component and covers data collection, usage, and user rights.

The privacy policy is organized into 7 numbered sections:

SectionTitleKey Content
1Information We CollectGitHub username, email, payment info collection
2Use of InformationService provision, transaction processing, no third-party sales
3Data SecuritySecurity measures, temporary code storage
4Third-Party ServicesStripe (payment), Vercel (hosting) disclosures
5CookiesCookie usage and browser controls
6Your RightsData access, correction, deletion rights
7Changes to PolicyUpdate notification procedures

The page includes a last-updated timestamp: "November 23, 2025" app/privacy/page.tsx L78

PrivacyPage component structure:
├── Outer container: min-h-screen with dark background
├── Content wrapper: max-w-3xl centered with responsive padding
├── Back navigation link: ArrowLeft icon + "Back to Home"
├── H1 heading: "Privacy Policy"
└── Content sections: <section> elements with h2 subheadings

Diagram: Privacy Policy Component Structure

Sources: app/privacy/page.tsx L4-L84

The privacy policy explicitly states several important commitments:

These disclosures align with the system's architecture as a repository access provisioning system rather than a permanent code storage platform.

Sources: app/privacy/page.tsx L18-L80


The Terms of Service page is implemented in the TermsPage component and defines the legal agreement between godeep.wiki and its users.

The terms are organized into 8 numbered sections:

SectionTitleKey Content
1Acceptance of TermsAgreement binding upon service usage
2Description of ServiceDeepWiki generation, one-time fee model
3User ConductLawful use, permission requirements, no code storage
4Intellectual PropertyCustomer owns generated content, godeep owns technology
5Disclaimer of Warranties"As is" service, AI interpretation limitations
6Limitation of LiabilityNo liability for damages
7Refund Policy100% money-back guarantee if analysis fails
8Changes to TermsRight to update terms with notification

The page includes the same last-updated timestamp: "November 23, 2025" app/terms/page.tsx L86

The TermsPage component follows an identical structure to PrivacyPage:

TermsPage component structure:
├── Outer container: min-h-screen with dark background (#0B0C0E)
├── Content wrapper: max-w-3xl centered with responsive padding
├── Back navigation link: ArrowLeft icon + "Back to Home"
├── H1 heading: "Terms of Service"
└── Content sections: <section> elements with h2 subheadings

Diagram: Terms of Service Component Structure

Sources: app/terms/page.tsx L4-L92

Several provisions are noteworthy for understanding the service model:

  • Service Description: "Provides a service that analyzes GitHub repositories and generates documentation, diagrams, and architectural insights ('DeepWiki'). The Service is provided on a per-repository basis for a one-time fee" app/terms/page.tsx L30-L31
  • No Permanent Storage: "We do not store your code after the analysis is complete" app/terms/page.tsx L39-L40
  • Ownership: "The generated DeepWiki content belongs to you. The underlying technology, design, and software of godeep.wiki remain the property of godeep.wiki" app/terms/page.tsx L47-L48
  • Refund Policy: "100% money-back guarantee if the analysis fails to generate a usable DeepWiki" app/terms/page.tsx L72-L73
  • AI Disclaimer: "We do not guarantee that the analysis will be error-free or completely accurate, as it relies on AI interpretation of code" app/terms/page.tsx L56-L57

Sources: app/terms/page.tsx L18-L88


Both legal pages share identical UI patterns, implemented through consistent Tailwind CSS classes and component structure.

ElementTailwind ClassesColor ValueUsage
Backgroundbg-[#0B0C0E]#0B0C0EPage background
Primary texttext-slate-300Slate 300Body text
Headingstext-slate-100, text-slate-200Slate 100/200H1 and H2 headings
Secondary texttext-slate-400Slate 400Section content
Accent texttext-slate-500Slate 500Back link, footer
Selectionselection:bg-slate-800 selection:text-slate-100Slate 800/100Text selection highlight
Borderborder-slate-800/50Slate 800 @ 50% opacityFooter separator

Sources: app/privacy/page.tsx L6

app/terms/page.tsx L6

Both pages use identical layout constraints:

  • Container width: max-w-3xl (48rem / 768px)
  • Horizontal padding: px-6 (1.5rem)
  • Vertical padding: py-12 md:py-20 (3rem mobile, 5rem desktop)
  • Section spacing: space-y-8 (2rem between sections)
  • Line height: leading-relaxed (1.625)

Sources: app/privacy/page.tsx L7

app/terms/page.tsx L7

H1: text-3xl md:text-4xl font-medium text-slate-100 mb-8
H2: text-xl font-medium text-slate-200 mb-4
Body: text-slate-400 leading-relaxed
Footer: text-sm text-slate-500

Sources: app/privacy/page.tsx L16-L18

app/terms/page.tsx L16-L18


Both legal pages implement identical back navigation using Next.js Link and the lucide-react ArrowLeft icon.

<Link    href="/"    className="inline-flex items-center text-sm text-slate-500 hover:text-slate-300 transition-colors mb-8">    <ArrowLeft className="w-4 h-4 mr-2" />    Back to Home</Link>

Navigation Behavior:

  • Target: Root path / (landing page)
  • Icon: ArrowLeft from lucide-react at 16×16px with 8px right margin
  • Hover state: Text color transitions from text-slate-500 to text-slate-300
  • Spacing: 32px bottom margin (mb-8) separates navigation from heading

Sources: app/privacy/page.tsx L1-L14

app/terms/page.tsx L1-L14


Global metadata for the application is configured in the root layout, which applies to all pages including the legal pages.

The metadata object in app/layout.tsx defines comprehensive SEO settings:

PropertyValuePurpose
title.default"Your Private Code Wiki | godeep.wiki"Fallback page title
title.template"%s | godeep.wiki"Template for page-specific titles
description"Understand any repo instantly..."Meta description for search engines
keywordsArray of 7 termsSearch engine keywords
metadataBasenew URL("https://godeep.wiki")Base URL for relative paths
openGraph.type"website"Open Graph content type
twitter.card"summary_large_image"Twitter card format
robots.indextrueAllow search engine indexing

Sources: app/layout.tsx L11-L56

The application targets the following search terms:

keywords: [    "code documentation",    "github analysis",    "architecture diagrams",    "codebase understanding",    "developer tools",    "llm context",    "mermaid charts",]

Sources: app/layout.tsx L18-L26

Open Graph:

  • Locale: en_US
  • URL: https://godeep.wiki
  • Type: website
  • Site name: godeep.wiki

Twitter Card:

  • Card type: summary_large_image
  • Creator handle: @godeepwiki

Sources: app/layout.tsx L30-L43


The application generates a dynamic favicon using Next.js 14's ImageResponse API in edge runtime.

export const size = {  width: 32,  height: 32,}export const contentType = "image/png"export const runtime = "edge"

The icon is generated as a 32×32px PNG image in edge runtime for optimal performance.

Sources: app/icon.tsx L4-L11

The favicon displays a white letter "D" on a black background with rounded corners:

Design specifications:

  • Character: "D" (for DeepWiki)
  • Font size: 24px
  • Font weight: 800 (extra bold)
  • Background: Black
  • Foreground: White
  • Border radius: 8px
  • Layout: Flexbox centered (both axes)

Diagram: Icon Generation Flow

Sources: app/icon.tsx L1-L38

export default function Icon() {  return new ImageResponse(    <div      style={{        fontSize: 24,        background: "black",        width: "100%",        height: "100%",        display: "flex",        alignItems: "center",        justifyContent: "center",        color: "white",        borderRadius: "8px",        fontWeight: 800,      }}    >      D    </div>,    { ...size }  )}

The Icon function returns an ImageResponse that renders inline CSS-styled JSX to generate the favicon image at request time.

Sources: app/icon.tsx L14-L38


The root layout integrates third-party analytics and monitoring services that apply to all pages, including legal pages.

Vercel Analytics is integrated via the @vercel/analytics package:

import { Analytics } from "@vercel/analytics/next"// In RootLayout component:<Analytics />

This component automatically tracks page views, navigation events, and web vitals for all routes.

Sources: app/layout.tsx L4

app/layout.tsx L69

Cloudflare analytics is conditionally integrated using their beacon script:

const cfBeaconToken = process.env.NEXT_PUBLIC_CF_BEACON_TOKEN     || "ab3529b8b0844e25bb614474e5a56035"{cfBeaconToken && (  <Script    defer    src="https://static.cloudflareinsights.com/beacon.min.js"    data-cf-beacon={`{"token": "${cfBeaconToken}"}`}    strategy="afterInteractive"  />)}

Configuration:

  • Script URL: https://static.cloudflareinsights.com/beacon.min.js
  • Loading strategy: afterInteractive (loads after page becomes interactive)
  • Defer: true (non-blocking script load)
  • Default token: Hardcoded fallback if environment variable not set

Sources: app/layout.tsx L63-L77


Both legal pages and the root layout enforce dark mode through multiple mechanisms:

The root <html> element has the dark class applied:

<html lang="en" className="dark">

This enables Tailwind's dark mode utilities throughout the application.

Sources: app/layout.tsx L66

All legal pages explicitly set the dark background color #0B0C0E (very dark blue-gray) rather than relying on CSS variables:

className="min-h-screen bg-[#0B0C0E] text-slate-300"

This ensures consistent dark theme regardless of system preferences or theme toggling.

Sources: app/privacy/page.tsx L6

app/terms/page.tsx L6


AspectPrivacy PolicyTerms of Service
Number of sections78
Last updated dateNovember 23, 2025November 23, 2025
Footer borderborder-slate-800/50border-slate-800/50
Import statementsLink, ArrowLeftLink, ArrowLeft

Both pages are structurally identical except for content and number of sections.

Privacy Policy emphasizes:

  • Data collection and usage
  • Security measures
  • Third-party service disclosures
  • User rights (GDPR-style)

Terms of Service emphasizes:

  • Legal binding agreement
  • Service description and limitations
  • Intellectual property ownership
  • Liability disclaimers and refund policy

Sources: app/privacy/page.tsx L18-L80

app/terms/page.tsx L18-L88


Both legal pages implement several accessibility features:

  1. Semantic HTML: Proper use of <h1>, <h2>, <section> elements
  2. Descriptive headings: Clear hierarchy with numbered sections
  3. Link text: "Back to Home" is explicit (not "click here")
  4. Color contrast: Slate color scale provides sufficient contrast
  5. Responsive text: Mobile-responsive font sizes (text-3xl md:text-4xl)
  6. Line height: leading-relaxed improves readability
  7. Focus states: Native browser focus indicators on links

Sources: app/privacy/page.tsx L1-L84

app/terms/page.tsx L1-L92


The legal pages are optimized for fast loading:

  • Static rendering: Both pages export default functions without data fetching, enabling static generation at build time
  • No client-side JavaScript: Pure server-rendered content (except root layout analytics)
  • Icon component: Uses lucide-react icons, which are tree-shakeable
  • Edge runtime: Icon generation runs in edge runtime for minimal latency
  • Minimal CSS: Tailwind utility classes produce minimal CSS output

The runtime = "edge" configuration in the icon component enables deployment to Vercel's edge network for global distribution.

Sources: app/icon.tsx L4

app/privacy/page.tsx L4

app/terms/page.tsx L4

Refresh this wiki

Last indexed: 23 November 2025 (922b35)

On this page

Ask Devin about godeep.wiki-jb

Syntax error in text

mermaid version 11.4.1

07.c - Legal-&-Static-Pages | DeepWiki | godeep.wiki